Ext.onReady(function() {
	showProgress('加载数据，请稍候...');

	setTimeout(function() {

		var sm = new Ext.grid.CheckboxSelectionModel({
					singleSelect : false
				});
		sm.handleMouseDown = Ext.emptyFn;
		function ShowType(val) {
			if (val == 0) {
				return '普通采购';
			} else if (val == 1) {
				return '特殊采购';
			} else if (val == 2) {
				return '<span style="color:red;">紧急采购</span>';
			} else if (val == 3) {
				return '新品采购';
			} else {
				return "暂无类型";
			}
		}
		var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), sm, {
					header : '订单号',
					dataIndex : 'planno'
				}, {
					header : '订货人',
					dataIndex : 'pname'
				}, {
					header : '供应商',
					dataIndex : 'uname'
				}, {
					header : '操作时间',
					renderer : Ext.util.Format.dateRenderer('Y-m-d'),
					dataIndex : 'operdate'
				}, {
					header : '审核人',
					dataIndex : 'username'
				}, {
					header : '审核时间',
					renderer : Ext.util.Format.dateRenderer('Y-m-d'),
					dataIndex : 'adate'
				}, {
					header : '计划到货时间',
					renderer : Ext.util.Format.dateRenderer('Y-m-d'),
					dataIndex : 'comedate'
				}, {
					header : '订单有效时间',
					renderer : Ext.util.Format.dateRenderer('Y-m-d'),
					dataIndex : 'validdate'
				}, {
					header : '运费',
					dataIndex : 'tranmoney'
				}, {
					header : '备注',
					dataIndex : 'remark'
				}

		]);
		var ds = new Ext.data.Store({
					baseParams : {
						trancode : '42120'
					},
					proxy : new Ext.data.HttpProxy({
								url : '../' + WebServiceUrl
							}),
					reader : new Ext.data.JsonReader({
								totalProperty : 'totalProperty',
								root : 'root'
							}, [{
										name : 'id'
									}, {
										name : 'planno'
									}, {
										name : 'pid'
									}, {
										name : 'pname'
									}, {
										name : 'uname'
									}, {
										name : 'provuid'
									}, {
										name : 'operdate',
										type : 'date',
										mapping : 'operdate.time',
										dateFormat : 'time'
									}, {
										name : 'username'
									}, {
										name : 'adate',
										type : 'date',
										mapping : 'adate.time',
										dateFormat : 'time'
									}, {
										name : 'comedate',
										type : 'date',
										mapping : 'comedate.time',
										dateFormat : 'time'
									}, {
										name : 'validdate',
										type : 'date',
										mapping : 'validdate.time',
										dateFormat : 'time'
									}, {
										name : 'tranmoney'
									}, {
										name : 'remark'
									}])
				});
		cm.defaultSortable = true; // 设置列可排序
		var grid = new Ext.grid.GridPanel({
			region : 'north',
			ds : ds,
			cm : cm,
			loadMask : {
				msg : '正在加载数据，请稍候。。。'
			},
			bbar : new Ext.PagingToolbar({
						pageSize : App.pageSize,
						store : ds,
						displayInfo : true,
						displayMsg : '显示第 {0} 条到 {1} 条记录，一共 {2} 条',
						emptyMsg : "没有记录"
					}),
			sm : new Ext.grid.RowSelectionModel({
						singleSelect : true
					}),
			title : "物料预定单查询",
			tbar : ['起始时间:', {
						xtype : "datefield",
						format : 'Y-m-d',
						id : 'keywords',
						value : new Date(),
						selectOnFocus : true
					}, '-', "截止时间:", {
						xtype : "datefield",
						format : 'Y-m-d',
						value : new Date(),
						id : 'keywords2',
						selectOnFocus : true
					}, '-', {
						text : '查询',
						tooltip : '查询',
						handler : doSearch,
						iconCls : 'search'
					},'-',
					new Ext.app.SearchField({
								store : ds,
								width : 200
							}), '->','-', {
			            text:'新建',			
			            iconCls:'add',
			            handler:function(){
				      //  new StockEditor(false);
			           }
		                  },'-',{
						text : '审核',
						iconCls : 'accept',
						handler : function() {
							var _record = grid.getSelectionModel()
									.getSelected();
							if (!_record) {
								Ext.MessageBox.alert('友情提示', '请选择一条信息进行审核!');
							} else {
								Ext.lib.Ajax.request('POST', '../'
												+ WebServiceUrl, {
											success : function(result) {
												json = Ext.util.JSON
														.decode(result.responseText);
												if (json.success) {
													Ext.MessageBox.alert(
															'操作成功',
															json.message);
												} else {
													Ext.MessageBox.alert(
															'操作失败',
															json.message);
												}
												ds.reload();
											}
										}, 'trancode=42125&id='
												+ _record.data.id);
							}
						}
					}, {
						text : '打印',
						tooltip : '打印',
						handler : function() {
							onPrint();
						},
						iconCls : 'print'
					}],
			height : Ext.get("grid").getHeight() - 200,
			border : false,
			bodyStyle : 'width:100%'
		});

		var onPrint = function() {
			var _record = grid.getSelectionModel().getSelected();
			if (!_record) {
				Ext.MessageBox.alert('友情提示', '请选择一条信息，进行打印!');
			} else {
				openBrWindow('../reportJsp/showReport.jsp?raq=wlcgdd&arg1='
								+ _record.data.id, '打印');
			}
		}

		var cmm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
					header : '客户名称',
					dataIndex : 'username',
					width : 150

				}, {
					header : '物料名称',
					dataIndex : 'materielname',
					width : 150
				}, {
					header : '物料规格',
					dataIndex : 'spec',
					width : 150
				}, {
					header : '厂家条码',
					dataIndex : 'factcode',
					width : 100
				}, {
					header : '条形码',
					dataIndex : 'barcode',
					width : 100
				}, {
					header : '订货数量',
					dataIndex : 'amount',
					width : 80
				}, {
					header : '到货数量',
					dataIndex : 'comeamount',
					width : 80
				}, {
					header : '单位',
					dataIndex : 'attrib1',
					width : 80
				}, {
					header : '长',
					dataIndex : 'attrib2',
					width : 80
				}, {
					header : '宽',
					dataIndex : 'attrib3',
					width : 80
				}, {
					header : '厚',
					dataIndex : 'attrib4',
					width : 80
				}, {
					header : '标量值',
					dataIndex : 'attrib5',
					width : 80
				}, {
					header : '入库单价',
					dataIndex : 'inprice',
					width : 80
				}, {
					header : '含税价',
					dataIndex : 'taxprice',
					width : 80
				}, {
					header : '采购类型',
					dataIndex : 'type',
					renderer : ShowType,
					width : 80
				}, {
					header : '备注',
					dataIndex : 'remark',
					width : 110
				}]);
		cmm.defaultSortable = true;

		var dss = new Ext.data.Store({
					baseParams : {
						trancode : '421200'
					},
					proxy : new Ext.data.HttpProxy({
								url : '../' + WebServiceUrl
							}),
					reader : new Ext.data.JsonReader({
								totalProperty : 'totalProperty',
								root : 'root'
							}, [{
										name : 'id'
									}, {
										name : 'hid'
									}, {
										name : 'ord'
									}, {
										name : 'materielname'
									}, {
										name : 'spec'
									}, {
										name : 'factcode'
									}, {
										name : 'barcode'
									}, {
										name : 'amount'
									}, {
										name : 'comeamount'
									}, {
										name : 'inprice'
									}, {
										name : 'taxprice'
									}, {
										name : 'type'
									}, {
										name : 'flag'
									}, {
										name : 'modipid'
									}, {
										name : 'modidate'
									}, {
										name : 'remark'
									}, {
										name : 'attrib1'
									}, {
										name : 'attrib2'
									}, {
										name : 'attrib3'
									}, {
										name : 'attrib4'
									}, {
										name : 'attrib5'
									}, {
										name : 'username'
									}])
				});

		var grid2 = new Ext.grid.GridPanel({
					region : 'center',
					border : false,
					ds : dss,
					cm : cmm,
					loadMask : {
						msg : '正在加载数据，请稍候。。。'
					},
					sm : new Ext.grid.RowSelectionModel({
								singleSelect : true
							}),
					title : "物料预定明细",
					height : 200,
					bodyStyle : 'width:100%'
				});

		var ct = new Ext.Panel({
					renderTo : 'grid',
					bodyStyle : 'width:100%',
					height : Ext.get("grid").getHeight(),
					layout : 'border',
					border : false,
					items : [grid, grid2]
				});

		// 双击事件
		grid.on('rowdblclick', function(grid, rowIndex, e) {
					new App.EditSalesOrders(ds, grid, rowIndex);
				});

		// 单击事件
		grid.on('rowclick', function(grid, t, rowIndex, e) {
					SearchSalesOrdersd();
				});

		// 加载分页参数
		ds.load({
					params : {
						start : 0,
						limit : App.pageSize
					}
				});

		// 根据单头Id查询销售明细
		function SearchSalesOrdersd() {
			var record = grid.getSelectionModel().getSelected();
			dss.baseParams = {
				hid : record.get('id'),
				trancode : '421200'
			}
			dss.load({
						params : {
							start : 0,
							limit : App.pageSize
						}
					});
		};

		function doSearch() {
			var keywords = Ext.get('keywords').dom.value;// 起始时间
			var keywords2 = Ext.get('keywords2').dom.value;// 结束时间
			ds.baseParams = {
				keywords : keywords,
				keywords2 : keywords2,
				trancode : '42120'
			};
			ds.load({
						params : {
							start : 0,
							limit : App.pageSize
						}
					});
		}
		// 获得当前日期
		function showDate() {
			var today = new Date();
			var day = today.getDate();
			var month = today.getMonth() + 1;
			var year = today.getYear();
			var date = year + "-" + month + "-" + day;
		}
		// 注册回车查询事件
		Ext.getCmp('keywords2').on('specialkey', doSearch);

		Ext.MessageBox.hide();// 隐藏进度条
	}, 1000)
})
